/*
 * author:wangyazhou
 * 
 */

/*  1
 * 
 *  绘制资源或子资源的曲线图  
 *  如果是子资源 则子资源数量要求为1个  否则画线图不好
 *  如:cpu
 *  
 *  
 *  chart: 图表变量  一个页面只能有一个 注意不能重复
 *  id: 页面div 的ID  不可为空
 *  resid:资源ID  不可为空
 *  childType:子资源类别ID,可以为空
 *  propids:指标ID 多个指标ID之间以 ',' 分开  不可为空
 */
function createLineChart(chart,id,resid,childType,propids){
	$.ajax({
		url : 'real-time!propCurve.action', // 
		type : 'POST',
		dataType : "json",
		data : {
			resId :resid,
			childType:childType,
			propIds:propids
		},
		success : function(data) {
			if(typeof chart == undefined || chart == null){
				chart = new  new FusionCharts( "${pageContext.request.contextPath}/resources/charts/MSSpline.swf",chart+"line", "100%", "100%", "0", "1" );
			}
			chart.setJSONData(data);
			chart.render(id);
		},
		error : function() {
			alert(chart);
		}
	});
}

/* 2
 * 
 * 创建资源或子资源的柱图
 * 不同的柱子代表不同的指标
 * 资源个数不能太多  否则柱子会很挤
 * X:资源 Y:指标值
 * 如:磁盘   CPU使用率
 * 
 * 
 *  id: 页面div 的ID  不可为空
 *  resid:资源ID  不可为空
 *  childType:子资源类别ID,可以为空
 *  propids:指标ID 多个指标ID之间以 ',' 分开  不可为空
 * 
 */
function createResColChart(chart, id,resid,childType,propids){
	$.ajax({
		url : 'real-time!propColumn.action', // 
		type : 'POST',
		dataType : "json",
		data : {
			resId :resid,
			childType:childType,
			propIds:propids
		},
		success : function(data) {
			if(typeof chart == undefined || chart == null){
	    		chart = new FusionCharts( "${pageContext.request.contextPath}/resources/charts/StackedColumn3D.swf",chart+"rcol", "100%", "100%", "0", "1" );
			}
			chart.setJSONData(data);
			chart.render(id);
		},
		error : function() {
			alert(chart);
		}
	});
}

/*  3
 *  
 *  创建一个指标的百分比图
 *  如:内存使用率
 *  是否加入 宽、高的百分比　???? 
 *  
 *  chart:图表ID
 *  id:页面div 的ID
 *  resid:资源ID
 *  detail 1:生成详细图   0/'':成生简略图
 *  propid:指标ID,如果此指标是子资源的,则以propid中加入子资源的类别ID,两者以 '_'分隔  如:1201020100000_120102000000005
 * 
 */
function createRateChart(chart,id,resid,detail,propid){
	$.ajax({
		url : 'real-time!getRate.action', //
		type : 'POST',
		dataType : "json",
		data : {
			resId :resid,
			detail:detail,
			propid:propid
		},
		success : function(data) {
			if(typeof chart == undefined || chart == null){
				chart = new FusionCharts( "${pageContext.request.contextPath}/resources/charts/VLED.swf",chart+"rate", "100%", "100%", "0", "1" );
			}
			chart.setJSONData(data);
			chart.render(id);
			if(detail != 1){
				$("#"+id).next().text(data.value+"%");
			}
		},
		error : function() {
			alert(chart);
		}
	});
}

/*  4
 *  
 *  创建一个指标的百分比图
 *  如:内存使用率
 *  
 *  chart:图表ID
 *  id:页面div 的ID
 *  resid:资源ID
 *  propid:指标ID,如果此指标是子资源的,则以propid中加入子资源的类别ID,两者以 '_'分隔  如:1201020100000_120102000000005
 * 
 */
function createRealValChart(chart,id,resid,detail,propid){
	$.ajax({
		url : 'real-time!getRealValue.action', // 
		type : 'POST',
		dataType : "json",
		data : {
			resId :resid,
			propid:propid
		},
		success : function(data) {
			if(typeof chart == undefined || chart == null){
				chart =  new FusionCharts( "${pageContext.request.contextPath}/resources/charts/VLED.swf",chart+"value"+id, "100%", "100%", "0", "1" );
			}
			chart.setJSONData(data);
			chart.render(id);
			$('#'+id).next().text(data.value);
		},
		error : function() {
			alert(chart);
		}
	});
}

/* 5
 * 
 * 创建同一资源　不同指标的柱图
 * X: 指标　　Y:指标值
 * 如: 平均负载
 * 
 * 
 * propids:指标ID, 多个指标以','分开
 * @returns
 */
function createPrpColChart(chart,id,resid,propids){
	$.ajax({
		url : 'real-time!propResColumn.action', // 
		type : 'POST',
		dataType : "json",
		data : {
			resId :resid,
			propIds:propids
		},
		success : function(data) {
			if(typeof chart == undefined || chart == null){
				chart =  new FusionCharts( "${pageContext.request.contextPath}/resources/charts/StackedColumn3D.swf",chart+"pcol", "100%", "100%", "0", "1" );
			}
			chart.setJSONData(data);
			chart.render(id);
		},
		error : function() {
			alert(chart);
		}
	});
}

/* 6
 * 
 * 填充资源的基本信息列表
 * 后台总会返回name ip 这两个值　
 * 
 * 
 * resid:资源ID
 * childType:子资源类别ID,可以为空 ,当有值时表示子资源的信息 但要求子资源只能有一个
 * propIds:属性和指标ID 'attr_':属性　 'prop_':指标
 * 
 */
function createResInfoList(resid,childType,propIds,name,ip){
	var tmp = propIds.split(',');
	$.ajax({
		url : 'real-time!getBaseInfo.action', //
		type : 'POST',
		dataType : "json",
		data : {
			resId :resid,
			childType:childType,
			propIds:propIds
		},
		success : function(data) {
			for(var i=0;i<tmp.length;i++){
				var str = tmp[i];
				$('#'+str).text(data.str);
			}
			if(name != null){
				$('#'+name).text(data.name);
			}
			if(ip!= null){
				$('#'+ip).text(data.ip);
			}
		},
		error : function() {
			alert('baseinfo');
		}
	});
}

/*
 * 
 * 
 * 
 * 
 */







